From: Matthias Clasen Date: Mon, 1 May 2023 18:46:30 +0000 (-0400) Subject: gsk: Fix rendering big textures with offsets X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~59^2^2~323^2~1 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b79d4a3a22441efe61d0cfc4467704e45f205d10;p=gtk4.git gsk: Fix rendering big textures with offsets When slicing the texture, the GL renderer was forgetting to apply the viewport origin. This shows up when rendering things with negative scales, leading to negative origins. --- diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c index 306b042c98..007dae1f87 100644 --- a/gsk/gl/gskglrenderer.c +++ b/gsk/gl/gskglrenderer.c @@ -356,7 +356,8 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer, for (x = 0; x < width; x += max_size) { texture = gsk_gl_renderer_render_texture (renderer, root, - &GRAPHENE_RECT_INIT (x, y, + &GRAPHENE_RECT_INIT (viewport->origin.x + x, + viewport->origin.y + y, MIN (max_size, viewport->size.width - x), MIN (max_size, viewport->size.height - y))); gdk_texture_download (texture,